home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12601 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  5.3 KB

  1. Path: scoop.eco.twg.com!usenet
  2. From: mike@vishnu.eco.twg.com (This space intentionally left blank)
  3. Newsgroups: comp.lang.c++,rec.games.programmer,alt.msdos.programmer,comp.programming
  4. Subject: Re: Young programmers read me.
  5. Date: 20 Mar 1996 20:31:21 GMT
  6. Organization: The Wollongong Group
  7. Message-ID: <4ippuq$4pk@scoop.eco.twg.com>
  8. References: <4icpp9$7hr@barad-dur.nas.com> <4imqe4$cj3@ping1.ping.be>
  9.     <Pine.SOL.3.91.960319174736.26863A-100000@solar.sky.net>
  10.     <4iok3n$msv@guysmiley.blarg.net>
  11. NNTP-Posting-Host: vishnu.eco.twg.com
  12.  
  13. In article <4iok3n$msv@guysmiley.blarg.net>, vanevery@blarg.net (Brandon J. Van Every) writes:
  14.  
  15. >John Howard (jhoward@solar.sky.net) wrote:
  16. >: Using Ada 95 will save you a tremendous amount of time otherwise spent on 
  17. >: debugging and maintenance hacks.
  18.  
  19. >Other than evangelizing Ada in forums like this, and/or suggesting
  20. >that Ada showcase OS's be built, can you suggest some practical ways
  21. >to cause the software industry to eventually embrace Ada?
  22.  
  23. Point out that 5/8 (or more) of the cost of software is in maintenance, and
  24. that anything that reduces maintenance costs, even if it increases development
  25. costs slightly, is a boon to profitability.  Bottom-line arguments are hard to
  26. put asside...especially for the folks who tend to get to make the decisions
  27. (i.e. not the programers).
  28.  
  29. Using Ada tends to require (so I'm told by those in the know) a bit more
  30. up-front planning and design than just hacking something together with C
  31. (though C++ should take at least as much extra planning to avoid disasters),
  32. but you end up spending considerably less time at the end of the project when
  33. the inevitable change requests, new features and endless debugging come up (you
  34. don't have to debug if you didn't put the bugs in in the first place ;^). 
  35.  
  36. It's also easier to add features to properly written software and you spend far
  37. less (time and money) on fixing bugs after adding the features.  What software
  38. has never needed a new feature added later?  
  39.  
  40. Will using Ada suddenly turn a lousy hacker into a proficient software
  41. engineer?  Of course not. You still have to know how to put together a good
  42. design, but with the language looking out after the more common coding
  43. blunders you can spend more time thinking about the global design and less
  44. about which type conversions are implicit and which have to be declared, and
  45. whether or not that variable is a static global or an automatic local, or
  46. whether your single character typo will make it through the compiler without
  47. a hitch and generate something other than what you wanted. (if you code in
  48. C, tell me you've never typed "=" when you meant "==" in an if statement's
  49. boolean...or tried tracking down the cause of a problem when you typed "/*"
  50. rather than "*/" to close a comment).
  51.  
  52. Sure, it's less flamboyant and "macho" to just engineer good software, code
  53. it and have it work and be simple to maintain, but the old days of "it was
  54. hard to write, it should be hard to modify" and 18-24 hour "crunch" days at
  55. the end of the project when you have "just one more bug...or maybe two..."
  56. need to be over.  Customers don't like having to use support lines to get
  57. problems fixed any more than companies like to pay to provide them.
  58.  
  59. If you don't agree, check out any of the Corel newsgroups and see how thier
  60. customers feel about the seemingly endless bugs in their products.  Sure, they
  61. fix them...eventually (I was up to CorelDRAW 5.0 rev F before things started
  62. working properly)...but how many hundreds of thousands of lost production hours
  63. are created by pointer bugs, memory leaks, unintended type conversions, array
  64. out of bounds errors, and other types of errors made simple by C/C++ and less
  65. easy to generate by other languages, such as Ada?  Corel has said publicly that
  66. it isn't possible to write bug-free code in a comptitive marketplace using C or
  67. C++...it just takes too much time in those languages and they'd likely miss
  68. something anyway, so they don't bother and just let the customers locate those
  69. bugs that really bother them.
  70.  
  71. Why do so many people use C and C++?  Because everyone else seems to be doing
  72. it, so it's less risky in some minds, and because Unix vendors and Microsoft
  73. tend to provide support in the form of definition files, and libraries for
  74. those languages and not for others.  Is this a good reason not to change?  I
  75. don't think so, and if enough folks do change and it makes them more
  76. profitable, others will follow.  If not, we'll stay where we are.  That's life.
  77.  
  78. Students should learn C/C++ because that's what will get them a job in the near
  79. future (just as FORTRAN and Pascal did when I was in school), but they should
  80. also learn more advanced and better-designed languages too, because that's
  81. probably what they'll be using in a few years.  Maybe Ada, maybe not, but
  82. *someone* will start it and everyone else will either follow or die of
  83. inefficiency.
  84.  
  85.               -- Mike "the only constant is change" Bartman --
  86.  
  87. ==============================================================================
  88. | I didn't really say all the things that I said.  You probably didn't read  |
  89. | what you thought you read.  Statistics show that this whole thing is more  |
  90. | than likely just a hideous misunderstanding.                     |
  91. ==============================================================================
  92. Poets go from bad to verse
  93. ==============================================================================
  94.  
  95.